\documentclass[english]{tktltiki}
\usepackage[pdftex]{graphicx}
\usepackage{subfigure}
\usepackage{url}
\begin{document}
%\doublespacing
%\singlespacing
\onehalfspacing

\title{Enhancing Mobile Gaming Experience by Adding Reality Elements}
\author{Aikeremu Tiemuer, Linhong Sun, Shiqing Feng, Yishu Yan}
\date{\today}

\maketitle

\numberofpagesinformation{\numberofpages\ pages + \numberofappendixpages\ appendices}
\classification{\protect{\ \\
D.2.12 [Interoperability]}}

\keywords{mobile game, interface, balloon}


\begin{abstract}

Human computer interaction is one of major research topics since the beginning of computer science. It is getting more easier and user friendly after every new technologies such as graphical user interface and touchscreen has been invented. Mobile devices are equipped with more sensors and this allows mobile game developers to be more creative in the game interface design. In this project we have studied several other previous work related to mobile game interfaces and did a small experimental project about how reality elements enhance mobile gaming experience.

\end{abstract}


\mytableofcontents

\section{Project}
\textbf{Title:} Balloon

\textbf{Tutor:} Antti Jylh\"a

\textbf{Group members:}

Aikeremu Tiemuer 014125984

Linhong Sun 014156827

Shiqing Feng 014157088

Yishu Yan 014156982

\textbf{Project hosting link:} http://code.google.com/p/runner-wp/

\section{Introduction}
Human computer interaction is one of major research topics since the beginning of computer science. It is getting more easier and user friendly after every new technologies such as graphical user interface and touchscreen has been invented. Mobile devices are equipped with more sensors and this allows mobile game developers to be more creative in the game interface design. Mobile sensors combined with some network services such as mapping can be very interesting for game user interface design because user can interact with the familiar surrounding environment while playing the game. Also sensors like accelerometer, touchscreen and compass can be very good user input technologies when it comes to design a simple action game.

In this project we combined some previous research results with our own ideas. We know that adding reality elements can improve users' interest and amusement level from the related work section. We simulated balloon flying experiences using an on-line map service as game data and rich sensor inputs as game controls. From these properties, this game currently should belongs to simulation game category.


\section{Related Work}

Games have been social activities until the video games come into the picture. Traditional video games played by solely single human machine interaction are against very nature of games and considered anti-social by some people~\cite{vg94}. However, the rich set of sensors on mobile devices such as \emph{Global Position System} (GPS) and \emph{Wireless Fidelity} (WiFi) enable the possibility of developing the mobile games with a very close social interaction.

Koceski et al.~\cite{kskn11} made a study on how is the Augmented Reality integrated into a classic mobile board game TwixT will help with a player's social experience. Instead of the classical man-against-machine board game experience, this team developed a new version name TeamTwixT which can be played by a group of people located in the same area using their mobile devices. While mobile devices screen share the same augmented reality view, players can communicate with each other about game strategies by signaling. The result of the evaluation indicated that users like AR games more than classical 2D games and article concluded there is a potential of using new mobile technologies to improve collaboration of people.

Similarly, Hwang et al.~\cite{iytj12} have proposed their mobile platform \emph{Player Space Director} (PSD) for pervasive game developers dealing with the complexity of player's situation. According to the description, pervasive games are a new classification of games that emerged into every aspects of player's real life. By using mobile phone sensors, a pervasive game can get continues input of player's every move, speed and sound etc. In this scenario PSD will play mostly coordinating role among mobile sensing resources, different players and game logic. This group indicates pervasive games not only enrich user-game interactions by using different sensors as input devices but also extend ways of human interactions. The game is integrated into player's real life and provides a new platform for people to communicate upon.

\emph{Quality of Experience} (QoE) also has been measured ~\cite{avki10} using a mobile location based \emph{massively multi-player on-line role-playing game} (MMORPG) that places the virtual world on top of the real world using player's location. QoE is measured using on-body sensors and player context. The result of analysis suggests that both physical activity and interaction with other players around positively affect the users' amusement.

\section{Design}

Do not always sit free at indoors, play the balloon game on your windows phone and experience the hot air balloon sport. Even more, weather is always nice on the bing map. This is how it looks.

\begin{figure}[h!]
    \centering
      \includegraphics[width=0.8\textwidth]{screenshot}
    \caption{The Balloon game user interface.}
\end{figure}

Our design for this project has 3 main parts: Location and map, game controls, and sounds. The game user interface has 4 controllers, namely initializer, heat up, cool down and mute. Initializer will reset the characters position to the original starting point. Heat up and cool down are used to control the height of the balloon. The mute is to control the background music which is played during the game.

\subsection{Location and map}

Game use GPS to identify players position and download satellite view map from bing map service. Default connection method to the Internet is used.

The local surrounding environment which is described on the bing map presented to players as game background.

\subsection{Game controls}

Initially, game has a balloon in the center of the screen which also represents players original take off position. Background map shows the map of surrounding area from satellite view. Using heat-up or cool-down controls players can raise or decrease the air temperature inside the balloon. By this way control its height. This is simulated using the scale level of map data.

User also can control the moving direction of balloon using accelerometer. For example, if the mobile device is lying still, the balloon is still. If the mobile device is left leaned, the balloon moves to the west. While balloon floats and moves new map data of new area will be downloaded and replace the original one. This way real balloon flying experience is simulated.


\subsection{Background music}

While the balloon is moving, different sounds and musics will be played. Two different background musics will reflect the different stages of game - loading and playing. We try to increase the playing speed of the music to reflect the speed of the balloon.

\section{Development}

The balloon game application developed on the windows phone 7.5 platform using the C\# programming language. The windows phone SDK 7.1 version is used and it comes with the Microsoft visual studio 2010 express version for windows phone development. A Nokia Lumia 800 device is used for debugging and testing purposes. Project followed agile development process with a weekly based scrum meetings. The 3 main parts of our projects are implemented as follows.

\subsection{Location and map}

Location is fetched using the GeoCoordinateWatcher class from the GPS sensor on the real device. On emulator, one fake coordinate in Helsinki city has been set for debugging purpose. In both case, the coordinate is set as player's original position and used for map data retrieval. Map data is downloaded from the bing maps representational state transfer (REST) services application programming interface (API) using the WebClient class. Application stops monitoring the player's location once the location is received.

Clicking initializer control will result map will revert to user's current location from the calculated balloons position.

\subsection{Game controls}

The application has a balloon which can move from point to point on the bing map while users are playing the game. Once the initial map data is retrieved, player's location is controlled by accelerometer input. The principle of mobile device accelerometer sensor is illustrated in Figure 2~\cite{eds10}.
\begin{figure}[h!]
  \centering
    \includegraphics[width=0.5\textwidth]{accelerometer}
  \caption{The principle of accelerometer.}
\end{figure}

The accelerometer is analyzed in three axis, namely X ( two long sides of mobile devices), Y ( two short sides of mobile devices) and Z ( front and reverse sides of mobile devices). Our accelerometer read event handling function is like

\begin{figure}[h!]
  \centering
    \includegraphics[width=0.8\textwidth]{code}
  \caption{Accelerometer event handler}
\end{figure}

When acceleration.X<0, according to Figure 1, the right side of mobile phone is up, then the balloon is expected to go south. Correspondingly, coordinates latitude value should decrease. On the other hand, when acceleration.X>0, the left side of mobile phone is up, then the balloon is expected to go north, so that coordinates latitude value should increase. When balloon goes beyond the polls we will do some corrections to both latitude and longitude. It is similar with Y axis. As it is a 2-dimension game, we do not use the value of acceleration.Z.

\subsection{Background music}

Game plays two different songs at two different stages using MediaPlayer class. Players also able to pause the music using the music control. Two different colors of control indicates current states of the music. During the game two songs will be played repeatedly. Most of these handled in MediaPlayer.MediaStateChanged event handler. We did not find the solution for changing the speed of the music according to the speed of balloon.

\subsection{Development process}

During development, team followed agile development methodologies. We followed weekly based scrum meeting. Simply kept our backlog items in the email thread. In the scrum meetings, we discuss freely about following questions:

What is done in last week?

What are the problems and solutions?

What seems to be risky and what idea looks better?

After all we decide what is the next task for each of us.

\section{Discussion}

Project implemented a simulated balloon flying experience in players surrounding area using GPS, mapping service and mobile sensor controls. However, the simulation is not really in 3D and it can be improved.

The game can also have more social elements like sharing location with others. This game could be implemented as an social, on-line game and this will add more excitement to player's experience.


\nocite{*}
Bing is registered trademark of Microsoft company. All the other trademarks mentioned in the text belong to their original owners.
\bibliographystyle{tktl}
\bibliography{lahteet}

\lastpage

\appendices

\pagestyle{empty}


\end{document}


